// 封装和牛马相关的功能
import request from '@/utils/request'
/**
 * 获取员工列表
 * @param {Object} params page pagesize departmentId keyword(可选)
 * @returns 请求
 */
export const getEmployeeList = (params) =>
  request({
    url: '/sys/user',
    method: 'get',
    params: params
    // responseType: 'json' 默认后端返回json数据
    // {
    //   page: 1,
    //   pagesize: 20,
    //   departmentId: 1,
    //   keyword: ''
    // }
  })

/**
 * 获取后端处理好的文件数据(二进制流  blob)
 * axios能耐很大   什么数据都能处理   但是你得说清楚每次来的是什么数据
 * @returns 请求
 */
export const getFileData = () => {
  return request({
    url: '/sys/user/export',
    method: 'get',
    responseType: 'blob' // 不帮你 JSON.parse   有别的处理方式
  })
}

/**
 * 获取模板文件
 * @returns 请求
 */
export const getTemplateData = () => {
  return request({
    url: '/sys/user/import/template',
    responseType: 'blob'
  })
}

/*
  以前发请求   带数据(json)去服务端   服务端返回数据(json)
  今天发请求   带数据(form-data)去服务端    服务端返回数据(二进制流)
*/

/**
 * 上传excel文件
 * @param {*} file 文件对象
 * @returns 请求
 */
export const uploadExcel = (file) => {
  // FormData 内置的 构造函数  处理文件上传的
  const formData = new FormData() // { } 对象的升级版本
  formData.append('file', file)

  // const obj = {}
  // obj.file = file

  return request({
    method: 'post',
    url: '/sys/user/import',
    data: formData
    // {
    //   file: file
    // }
  })
}

export function addEmployee(data) {
  return request({
    url: '/sys/user',
    method: 'post',
    data
  })
}

/**
 *  获取员工详情
 * **/

export function getEmployeeDetail(id) {
  return request({
    url: `/sys/user/${id}`
  })
}

export function updateEmployee(data) {
  return request({
    url: `/sys/user/${data.id}`,
    method: 'put',
    data
  })
}
